Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Wimbledon - London Truist Atlanta Open - Atlanta Porto Challenger U.S. Open - New York Winston-Salem Open - Winston-Salem Prague 3 Challenger Mallorca Challenger Davis Cup, Group I, 1R, AUT-POR 1-3 Charlottesville Challenger Braga Challenger Bratislava 2 Challenger Lisbon Challenger Swiss Indoors Basel - Basel Ortisei Challenger Ismaning Challenger Knoxville Challenger Calgary Challenger Drummondville Challenger Yokohama Challenger Miami Open - Miami Canberra Challenger Oeiras 2 Challenger Australian Open - Melbourne BNP Paribas Open - Indian Wells Oeiras 1 Challenger Dallas Open - Dallas Quimper Challenger Open Sud de France - Montpellier Davis Cup, World Group, Q, FIN-POR 3-1 Abierto Mexicano Telcel - Acapulco Acapulco Challenger Phoenix Challenger US Men's Clay Court Championship - Houston Girona Challenger Savannah Challenger Millennium Estoril Open - Estoril Dallas Open - Dallas San Diego Challenger Sarasota Challenger St. Tropez Challenger Tallahassee Challenger Delray Beach Open - Delray Beach BNP Paribas Open - Indian Wells Cleveland Challenger Miami Open - Miami Savannah Challenger US Men's Clay Court Championship - Houston Citi Open - Washington Cassis Challenger French Open - Paris Cassis Challenger St. Tropez Challenger Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 Spain F26 Spain F27 Spain F33 Spain F34 Spain F35 Portugal F4 Portugal F5 Spain F38 Spain F39 Spain F40 Spain F41 Spain F3 Spain F5 Spain F6 Spain F8 Spain F9 Spain F10 Spain F13 Spain F17 Spain F18 Spain F19 Spain F20 Romania F10 Romania F11 Spain F30 Spain F31 Spain F33 Spain F34 Portugal F7 Portugal F8 Spain F39 Spain F40 Spain F41 Spain F42 United Arab Emirates F1 United Arab Emirates F2 Spain F3 Spain F4 Spain F5 Spain F7 Spain F10 Spain F11 Turkey F4 Turkey F5 Turkey F6 Spain F16 Spain F17 Spain F18 Spain F20 Spain F21 France F12 Spain F28 Spain F29 Spain F30 Portugal F4 Portugal F5 Spain F35 Spain F37 Spain F3 Spain F4 Italy F2 Italy F3 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 Italy F17 Spain F31 Spain F35 Spain F36 France F4 Spain F14 Spain F15 Spain F36 Spain F37 Spain F38 USA F32 USA F31 USA F7 Bahrain F1 Qatar F1 Qatar F2 Qatar F3 USA F28 USA F29 Nicaragua F1 USA F10 USA F14 USA F15 USA F16 Romania F4 USA F22 USA F29 USA F30 USA F1 USA F2 USA F10 USA F18 USA F21 USA F23 (Wichita) Mamaia Challenger - Constanta Kos Succhetti Tennis Cup - Cordenons 84° Concurso Internacional Tenis San Sebastian - San Sebastian Orbetello Challenger Seville Challenger Tarragona Challenger Rennes Challenger Tanger Challenger Meknes Challenger Rabat Challenger Marrakech Challenger Leon Challenger Tallahassee Challenger Tunis Challenger Reggio Emilia Challenger Turin Challenger Recanati Challenger Tampere Challenger Istanbul Challenger Manerbio Challenger Seville Challenger Izmir Challenger Sao Paulo Challenger Heilbronn Challenger Braunschweig Challenger Stanford Challenger Courmayeur Challenger Quimper Challenger Casablanca Challenger Guangzhou Challenger Pingguo Challenger St. Brieuc Challenger Rome Challenger Cremona Challenger Furth Challenger Kosice Challenger Marburg Challenger Tampere Challenger Segovia Challenger San Marino Challenger San Sebastian Challenger Seville Challenger Szczecin Challenger Trnava Challenger Madrid Challenger Eckental Challenger Kazan Challenger Quimper Challenger Bergamo Challenger Meknes Challenger Casablanca Challenger Rabat Challenger Marrakech Challenger Mersin Challenger Rome Challenger Bordeaux Challenger Furth Challenger Kosice Challenger Milan Challenger Tampere Challenger Sibiu Challenger Cordenons Challenger Como Challenger Alphen Challenger Trnava Challenger Madrid Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Bordeaux Challenger Furth Challenger Kosice Challenger Todi Challenger San Benedetto Challenger Poznan Challenger Guimaraes Challenger Sarasota Challenger Las Vegas Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Maui Challenger Winnetka Challenger Binghamton Challenger Cary Challenger Tiburon Challenger Stockton Challenger Fairfield Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Happy Valley Challenger Maui Challenger San Francisco Challenger Tempe Challenger Savannah Challenger Rome Challenger Samarkand Challenger Nottingham Challenger Ilkley Challenger Winnetka Challenger Binghamton Challenger Lexington Challenger Cary Challenger Tiburon Challenger Stockton Challenger Fairfield Challenger Las Vegas Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Newport Beach Challenger San Francisco Challenger Irving Challenger Sarasota Challenger Tallahassee Challenger Savannah Challenger Nottingham Challenger Ilkley Challenger Winnipeg Challenger Aptos Challenger Chicago Challenger Columbus Challenger Tiburon Challenger Brest Challenger Charlottesville Challenger Knoxville Challenger Little Rock Challenger Columbus Challenger Winnetka Challenger Gatineau Challenger Aptos Challenger New Haven Challenger Cary Challenger Columbus Challenger Tiburon Challenger Fairfield Challenger Las Vegas Challenger Charlottesville Challenger Knoxville Challenger Houston Challenger Dallas Challenger Cleveland Challenger Drummondville Challenger Indian Wells Challenger Cary Challenger Antalya 2 Challenger Orlando Challenger Tallahassee Challenger Zagreb Challenger Mallorca Challenger Cassis Challenger Cary 2 Challenger Biel Challenger Orleans Challenger Alicante Challenger Brest Challenger Las Vegas Challenger Tenerife Challenger Charlottesville Challenger Bratislava Challenger Knoxville Challenger Helsinki Challenger Champaign Challenger Puerto Vallarta Challenger Bendigo Challenger Olympics - Tokyo Quimper Challenger Columbus Challenger Cleveland Challenger Forli 5 Challenger Monterrey Challenger Turin Challenger Sarasota Challenger Tallahassee Challenger Savannah Challenger Little Rock Challenger Orlando Challenger Ilkley Challenger Malaga Challenger Rome Challenger Winnipeg Challenger Cary Challenger Charleston Challenger Tiburon Challenger Fairfield Challenger Charlottesville Challenger Knoxville Challenger Drummondville Challenger Phoenix Challenger Girona Challenger Oeiras 3 Challenger Aix En Provence Challenger Tunis Challenger Vicenza Challenger Tyler Challenger Maia Challenger Yokkaichi Challenger Estoril Open - Estoril Estoril Open - Estoril Estoril Open - Estoril If Stockholm Open - Stockholm Open Sud de France - Montpellier Open 13 - Marseille Estoril Open - Estoril German Tennis Championships - Hamburg Aircel Chennai Open - Chennai Heineken Open - Auckland Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Studena Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Aircel Chennai Open - Chennai Apia International - Sydney VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Power Horse Cup - Dusseldorf Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Malaysian Open - Kuala Lumpur Kremlin Cup - Moscow Valencia Open - Valencia Qatar ExxonMobil Open - Doha Apia International - Sydney Open Sud de France - Montpellier Copa Claro - Buenos Aires Rio Open 500 - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras Power Horse Cup - Dusseldorf Gerry Weber Open - Halle Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Vegeta Croatia Open - Umag Winston-Salem Open - Winston-Salem Moselle Open - Metz Malaysian Open - Kuala Lumpur China Open - Beijing If Stockholm Open - Stockholm Valencia Open - Valencia Heineken Open - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam U.S. National Indoor Tennis Championships - Memphis Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva Topshelf Open - 's-Hertogenbosch AEGON Championships - London Aegon Nottingham Open - Nottingham Vegeta Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Valencia Open - Valencia St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Memphis Open - Memphis Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech US Men's Clay Court Championship - Houston Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Hall of Fame Tennis Championships - Newport Konzum Croatia Open - Umag BB&T Atlanta Open - Atlanta Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo European Open - Antwerp Erste Bank Open - Vienna ASB Classic - Auckland Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Gerry Weber Open - Halle Antalya Cup - Antalya Hall of Fame Tennis Championships - Newport Konzum Croatia Open - Umag Suisse Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo European Open - Antwerp Swiss Indoors Basel - Basel Brisbane International - Brisbane ASB Classic - Auckland Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam New York Open - New York Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai US Men's Clay Court Championship - Houston Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon Gerry Weber Open - Halle Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Abierto Mexicano - Los Cabos Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu China Open - Beijing Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel Tata Open Maharashtra - Pune ASB Classic - Auckland Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Libema Open - 's-Hertogenbosch Noventi Open - Halle Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad BB&T Atlanta Open - Atlanta Swiss Open - Gstaad Citi Open - Washington Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Generali Open - Kitzbuhel European Open - Antwerp Hamburg European Open - Hamburg Murray River Open - Melbourne Cordoba Open - Cordoba Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Open Parc - Lyon Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Hall of Fame Open - Newport Citi Open - Washington Singapore Tennis Open - Singapore Sardegna Open - Cagliari Millennium Estoril Open - Estoril Melbourne Summer Set - Melbourne Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai US Men's Clay Court Championship - Houston Grand Prix Hassan II - Marrakech Serbia Open - Belgrade Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Open Parc - Lyon Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Nordea Open - Bastad Swiss Open - Gstaad Generali Open - Kitzbuhel Citi Open - Washington Winston-Salem Open - Winston-Salem Moselle Open - Metz Stockholm Open - Stockholm Erste Bank Open - Vienna Tel Aviv Watergen Open - Tel Aviv Gijon Open - Gijon Tata Open Maharashtra - Pune ASB Classic - Auckland Cordoba Open - Cordoba Dallas Open - Dallas Argentina Open - Buenos Aires Delray Beach Open - Delray Beach Rio Open - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Chile Dove Men+Care Open - Santiago Millennium Estoril Open - Estoril BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Rogers Cup - Toronto BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group I, 2R, SUI-POR 5-0 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, PO, UKR-POR 3-1 Davis Cup, Group I, PO, POR-RSA 4-0 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, Group I, 1R, POR-BRA 3-1 Davis Cup, World Group, PO, POR-CZE 1-3 U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments Olympics - Rio de Janeiro